/* FILE: essence_L_tables.c
 *
 * AUTHOR: Jason Worth Martin <jason.worth.martin@gmail.com>
 *
 * DESCRIPTION: This file just contains the tables used
 * for accelerating the linear functions.
 *
 */
#include "essence_api.h"

uint32_t L_32_table[] = {
0x00000000,
0x814a3b35,
0x83de4d5f,
0x0294766a,
0x86f6a18b,
0x07bc9abe,
0x0528ecd4,
0x8462d7e1,
0x8ca77823,
0x0ded4316,
0x0f79357c,
0x8e330e49,
0x0a51d9a8,
0x8b1be29d,
0x898f94f7,
0x08c5afc2,
0x9804cb73,
0x194ef046,
0x1bda862c,
0x9a90bd19,
0x1ef26af8,
0x9fb851cd,
0x9d2c27a7,
0x1c661c92,
0x14a3b350,
0x95e98865,
0x977dfe0f,
0x1637c53a,
0x925512db,
0x131f29ee,
0x118b5f84,
0x90c164b1,
0xb143add3,
0x300996e6,
0x329de08c,
0xb3d7dbb9,
0x37b50c58,
0xb6ff376d,
0xb46b4107,
0x35217a32,
0x3de4d5f0,
0xbcaeeec5,
0xbe3a98af,
0x3f70a39a,
0xbb12747b,
0x3a584f4e,
0x38cc3924,
0xb9860211,
0x294766a0,
0xa80d5d95,
0xaa992bff,
0x2bd310ca,
0xafb1c72b,
0x2efbfc1e,
0x2c6f8a74,
0xad25b141,
0xa5e01e83,
0x24aa25b6,
0x263e53dc,
0xa77468e9,
0x2316bf08,
0xa25c843d,
0xa0c8f257,
0x2182c962,
0xe3cd6093,
0x62875ba6,
0x60132dcc,
0xe15916f9,
0x653bc118,
0xe471fa2d,
0xe6e58c47,
0x67afb772,
0x6f6a18b0,
0xee202385,
0xecb455ef,
0x6dfe6eda,
0xe99cb93b,
0x68d6820e,
0x6a42f464,
0xeb08cf51,
0x7bc9abe0,
0xfa8390d5,
0xf817e6bf,
0x795ddd8a,
0xfd3f0a6b,
0x7c75315e,
0x7ee14734,
0xffab7c01,
0xf76ed3c3,
0x7624e8f6,
0x74b09e9c,
0xf5faa5a9,
0x71987248,
0xf0d2497d,
0xf2463f17,
0x730c0422,
0x528ecd40,
0xd3c4f675,
0xd150801f,
0x501abb2a,
0xd4786ccb,
0x553257fe,
0x57a62194,
0xd6ec1aa1,
0xde29b563,
0x5f638e56,
0x5df7f83c,
0xdcbdc309,
0x58df14e8,
0xd9952fdd,
0xdb0159b7,
0x5a4b6282,
0xca8a0633,
0x4bc03d06,
0x49544b6c,
0xc81e7059,
0x4c7ca7b8,
0xcd369c8d,
0xcfa2eae7,
0x4ee8d1d2,
0x462d7e10,
0xc7674525,
0xc5f3334f,
0x44b9087a,
0xc0dbdf9b,
0x4191e4ae,
0x430592c4,
0xc24fa9f1,
0x46d0fa13,
0xc79ac126,
0xc50eb74c,
0x44448c79,
0xc0265b98,
0x416c60ad,
0x43f816c7,
0xc2b22df2,
0xca778230,
0x4b3db905,
0x49a9cf6f,
0xc8e3f45a,
0x4c8123bb,
0xcdcb188e,
0xcf5f6ee4,
0x4e1555d1,
0xded43160,
0x5f9e0a55,
0x5d0a7c3f,
0xdc40470a,
0x582290eb,
0xd968abde,
0xdbfcddb4,
0x5ab6e681,
0x52734943,
0xd3397276,
0xd1ad041c,
0x50e73f29,
0xd485e8c8,
0x55cfd3fd,
0x575ba597,
0xd6119ea2,
0xf79357c0,
0x76d96cf5,
0x744d1a9f,
0xf50721aa,
0x7165f64b,
0xf02fcd7e,
0xf2bbbb14,
0x73f18021,
0x7b342fe3,
0xfa7e14d6,
0xf8ea62bc,
0x79a05989,
0xfdc28e68,
0x7c88b55d,
0x7e1cc337,
0xff56f802,
0x6f979cb3,
0xeedda786,
0xec49d1ec,
0x6d03ead9,
0xe9613d38,
0x682b060d,
0x6abf7067,
0xebf54b52,
0xe330e490,
0x627adfa5,
0x60eea9cf,
0xe1a492fa,
0x65c6451b,
0xe48c7e2e,
0xe6180844,
0x67523371,
0xa51d9a80,
0x2457a1b5,
0x26c3d7df,
0xa789ecea,
0x23eb3b0b,
0xa2a1003e,
0xa0357654,
0x217f4d61,
0x29bae2a3,
0xa8f0d996,
0xaa64affc,
0x2b2e94c9,
0xaf4c4328,
0x2e06781d,
0x2c920e77,
0xadd83542,
0x3d1951f3,
0xbc536ac6,
0xbec71cac,
0x3f8d2799,
0xbbeff078,
0x3aa5cb4d,
0x3831bd27,
0xb97b8612,
0xb1be29d0,
0x30f412e5,
0x3260648f,
0xb32a5fba,
0x3748885b,
0xb602b36e,
0xb496c504,
0x35dcfe31,
0x145e3753,
0x95140c66,
0x97807a0c,
0x16ca4139,
0x92a896d8,
0x13e2aded,
0x1176db87,
0x903ce0b2,
0x98f94f70,
0x19b37445,
0x1b27022f,
0x9a6d391a,
0x1e0feefb,
0x9f45d5ce,
0x9dd1a3a4,
0x1c9b9891,
0x8c5afc20,
0x0d10c715,
0x0f84b17f,
0x8ece8a4a,
0x0aac5dab,
0x8be6669e,
0x897210f4,
0x08382bc1,
0x00fd8403,
0x81b7bf36,
0x8323c95c,
0x0269f269,
0x860b2588,
0x07411ebd,
0x05d568d7,
0x849f53e2
};


uint64_t L_64_table[] = {
  0x0000000000000000LL,
  0xb0a65313e6966997LL,
  0xd1eaf5342bbabab9LL,
  0x614ca627cd2cd32eLL,
  0x1373b97bb1e31ce5LL,
  0xa3d5ea6857757572LL,
  0xc2994c4f9a59a65cLL,
  0x723f1f5c7ccfcfcbLL,
  0x26e772f763c639caLL,
  0x964121e48550505dLL,
  0xf70d87c3487c8373LL,
  0x47abd4d0aeeaeae4LL,
  0x3594cb8cd225252fLL,
  0x8532989f34b34cb8LL,
  0xe47e3eb8f99f9f96LL,
  0x54d86dab1f09f601LL,
  0x4dcee5eec78c7394LL,
  0xfd68b6fd211a1a03LL,
  0x9c2410daec36c92dLL,
  0x2c8243c90aa0a0baLL,
  0x5ebd5c95766f6f71LL,
  0xee1b0f8690f906e6LL,
  0x8f57a9a15dd5d5c8LL,
  0x3ff1fab2bb43bc5fLL,
  0x6b299719a44a4a5eLL,
  0xdb8fc40a42dc23c9LL,
  0xbac3622d8ff0f0e7LL,
  0x0a65313e69669970LL,
  0x785a2e6215a956bbLL,
  0xc8fc7d71f33f3f2cLL,
  0xa9b0db563e13ec02LL,
  0x19168845d8858595LL,
  0x9b9dcbdd8f18e728LL,
  0x2b3b98ce698e8ebfLL,
  0x4a773ee9a4a25d91LL,
  0xfad16dfa42343406LL,
  0x88ee72a63efbfbcdLL,
  0x384821b5d86d925aLL,
  0x5904879215414174LL,
  0xe9a2d481f3d728e3LL,
  0xbd7ab92aecdedee2LL,
  0x0ddcea390a48b775LL,
  0x6c904c1ec764645bLL,
  0xdc361f0d21f20dccLL,
  0xae0900515d3dc207LL,
  0x1eaf5342bbabab90LL,
  0x7fe3f565768778beLL,
  0xcf45a67690111129LL,
  0xd6532e33489494bcLL,
  0x66f57d20ae02fd2bLL,
  0x07b9db07632e2e05LL,
  0xb71f881485b84792LL,
  0xc5209748f9778859LL,
  0x7586c45b1fe1e1ceLL,
  0x14ca627cd2cd32e0LL,
  0xa46c316f345b5b77LL,
  0xf0b45cc42b52ad76LL,
  0x40120fd7cdc4c4e1LL,
  0x215ea9f000e817cfLL,
  0x91f8fae3e67e7e58LL,
  0xe3c7e5bf9ab1b193LL,
  0x5361b6ac7c27d804LL,
  0x322d108bb10b0b2aLL,
  0x828b4398579d62bdLL,
  0x879dc4a8f8a7a7c7LL,
  0x373b97bb1e31ce50LL,
  0x5677319cd31d1d7eLL,
  0xe6d1628f358b74e9LL,
  0x94ee7dd34944bb22LL,
  0x24482ec0afd2d2b5LL,
  0x450488e762fe019bLL,
  0xf5a2dbf48468680cLL,
  0xa17ab65f9b619e0dLL,
  0x11dce54c7df7f79aLL,
  0x7090436bb0db24b4LL,
  0xc0361078564d4d23LL,
  0xb2090f242a8282e8LL,
  0x02af5c37cc14eb7fLL,
  0x63e3fa1001383851LL,
  0xd345a903e7ae51c6LL,
  0xca5321463f2bd453LL,
  0x7af57255d9bdbdc4LL,
  0x1bb9d47214916eeaLL,
  0xab1f8761f207077dLL,
  0xd920983d8ec8c8b6LL,
  0x6986cb2e685ea121LL,
  0x08ca6d09a572720fLL,
  0xb86c3e1a43e41b98LL,
  0xecb453b15ceded99LL,
  0x5c1200a2ba7b840eLL,
  0x3d5ea68577575720LL,
  0x8df8f59691c13eb7LL,
  0xffc7eacaed0ef17cLL,
  0x4f61b9d90b9898ebLL,
  0x2e2d1ffec6b44bc5LL,
  0x9e8b4ced20222252LL,
  0x1c000f7577bf40efLL,
  0xaca65c6691292978LL,
  0xcdeafa415c05fa56LL,
  0x7d4ca952ba9393c1LL,
  0x0f73b60ec65c5c0aLL,
  0xbfd5e51d20ca359dLL,
  0xde99433aede6e6b3LL,
  0x6e3f10290b708f24LL,
  0x3ae77d8214797925LL,
  0x8a412e91f2ef10b2LL,
  0xeb0d88b63fc3c39cLL,
  0x5babdba5d955aa0bLL,
  0x2994c4f9a59a65c0LL,
  0x993297ea430c0c57LL,
  0xf87e31cd8e20df79LL,
  0x48d862de68b6b6eeLL,
  0x51ceea9bb033337bLL,
  0xe168b98856a55aecLL,
  0x80241faf9b8989c2LL,
  0x30824cbc7d1fe055LL,
  0x42bd53e001d02f9eLL,
  0xf21b00f3e7464609LL,
  0x9357a6d42a6a9527LL,
  0x23f1f5c7ccfcfcb0LL,
  0x7729986cd3f50ab1LL,
  0xc78fcb7f35636326LL,
  0xa6c36d58f84fb008LL,
  0x16653e4b1ed9d99fLL,
  0x645a211762161654LL,
  0xd4fc720484807fc3LL,
  0xb5b0d42349acacedLL,
  0x05168730af3ac57aLL,
  0xbf9dda4217d92619LL,
  0x0f3b8951f14f4f8eLL,
  0x6e772f763c639ca0LL,
  0xded17c65daf5f537LL,
  0xacee6339a63a3afcLL,
  0x1c48302a40ac536bLL,
  0x7d04960d8d808045LL,
  0xcda2c51e6b16e9d2LL,
  0x997aa8b5741f1fd3LL,
  0x29dcfba692897644LL,
  0x48905d815fa5a56aLL,
  0xf8360e92b933ccfdLL,
  0x8a0911cec5fc0336LL,
  0x3aaf42dd236a6aa1LL,
  0x5be3e4faee46b98fLL,
  0xeb45b7e908d0d018LL,
  0xf2533facd055558dLL,
  0x42f56cbf36c33c1aLL,
  0x23b9ca98fbefef34LL,
  0x931f998b1d7986a3LL,
  0xe12086d761b64968LL,
  0x5186d5c4872020ffLL,
  0x30ca73e34a0cf3d1LL,
  0x806c20f0ac9a9a46LL,
  0xd4b44d5bb3936c47LL,
  0x64121e48550505d0LL,
  0x055eb86f9829d6feLL,
  0xb5f8eb7c7ebfbf69LL,
  0xc7c7f420027070a2LL,
  0x7761a733e4e61935LL,
  0x162d011429caca1bLL,
  0xa68b5207cf5ca38cLL,
  0x2400119f98c1c131LL,
  0x94a6428c7e57a8a6LL,
  0xf5eae4abb37b7b88LL,
  0x454cb7b855ed121fLL,
  0x3773a8e42922ddd4LL,
  0x87d5fbf7cfb4b443LL,
  0xe6995dd00298676dLL,
  0x563f0ec3e40e0efaLL,
  0x02e76368fb07f8fbLL,
  0xb241307b1d91916cLL,
  0xd30d965cd0bd4242LL,
  0x63abc54f362b2bd5LL,
  0x1194da134ae4e41eLL,
  0xa1328900ac728d89LL,
  0xc07e2f27615e5ea7LL,
  0x70d87c3487c83730LL,
  0x69cef4715f4db2a5LL,
  0xd968a762b9dbdb32LL,
  0xb824014574f7081cLL,
  0x088252569261618bLL,
  0x7abd4d0aeeaeae40LL,
  0xca1b1e190838c7d7LL,
  0xab57b83ec51414f9LL,
  0x1bf1eb2d23827d6eLL,
  0x4f2986863c8b8b6fLL,
  0xff8fd595da1de2f8LL,
  0x9ec373b2173131d6LL,
  0x2e6520a1f1a75841LL,
  0x5c5a3ffd8d68978aLL,
  0xecfc6cee6bfefe1dLL,
  0x8db0cac9a6d22d33LL,
  0x3d1699da404444a4LL,
  0x38001eeaef7e81deLL,
  0x88a64df909e8e849LL,
  0xe9eaebdec4c43b67LL,
  0x594cb8cd225252f0LL,
  0x2b73a7915e9d9d3bLL,
  0x9bd5f482b80bf4acLL,
  0xfa9952a575272782LL,
  0x4a3f01b693b14e15LL,
  0x1ee76c1d8cb8b814LL,
  0xae413f0e6a2ed183LL,
  0xcf0d9929a70202adLL,
  0x7fabca3a41946b3aLL,
  0x0d94d5663d5ba4f1LL,
  0xbd328675dbcdcd66LL,
  0xdc7e205216e11e48LL,
  0x6cd87341f07777dfLL,
  0x75cefb0428f2f24aLL,
  0xc568a817ce649bddLL,
  0xa4240e30034848f3LL,
  0x14825d23e5de2164LL,
  0x66bd427f9911eeafLL,
  0xd61b116c7f878738LL,
  0xb757b74bb2ab5416LL,
  0x07f1e458543d3d81LL,
  0x532989f34b34cb80LL,
  0xe38fdae0ada2a217LL,
  0x82c37cc7608e7139LL,
  0x32652fd4861818aeLL,
  0x405a3088fad7d765LL,
  0xf0fc639b1c41bef2LL,
  0x91b0c5bcd16d6ddcLL,
  0x211696af37fb044bLL,
  0xa39dd537606666f6LL,
  0x133b862486f00f61LL,
  0x727720034bdcdc4fLL,
  0xc2d17310ad4ab5d8LL,
  0xb0ee6c4cd1857a13LL,
  0x00483f5f37131384LL,
  0x61049978fa3fc0aaLL,
  0xd1a2ca6b1ca9a93dLL,
  0x857aa7c003a05f3cLL,
  0x35dcf4d3e53636abLL,
  0x549052f4281ae585LL,
  0xe43601e7ce8c8c12LL,
  0x96091ebbb24343d9LL,
  0x26af4da854d52a4eLL,
  0x47e3eb8f99f9f960LL,
  0xf745b89c7f6f90f7LL,
  0xee5330d9a7ea1562LL,
  0x5ef563ca417c7cf5LL,
  0x3fb9c5ed8c50afdbLL,
  0x8f1f96fe6ac6c64cLL,
  0xfd2089a216090987LL,
  0x4d86dab1f09f6010LL,
  0x2cca7c963db3b33eLL,
  0x9c6c2f85db25daa9LL,
  0xc8b4422ec42c2ca8LL,
  0x7812113d22ba453fLL,
  0x195eb71aef969611LL,
  0xa9f8e4090900ff86LL,
  0xdbc7fb5575cf304dLL,
  0x6b61a846935959daLL,
  0x0a2d0e615e758af4LL,
  0xba8b5d72b8e3e363LL
};
